Microsoft Technologies ADO.NET এবং Entity Framework ব্যবহার করে Database Integration গাইড ও নোট

261

ADO.NET এবং Entity Framework (EF) হল দুটি জনপ্রিয় প্রযুক্তি যা ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহৃত হয়। যদিও দুইটি ভিন্ন কৌশল ব্যবহার করে ডেটাবেসের সাথে যোগাযোগ প্রতিষ্ঠা করে, তবে তাদের মধ্যে মৌলিক পার্থক্য রয়েছে।

  • ADO.NET হল একটি ডেটাবেস অ্যাকসেস লাইব্রেরি যা SQL কমান্ড, কনেকশন এবং ডেটাবেসের অন্যান্য কার্যকলাপ পরিচালনা করে। এটি বেশি লো-লেভেল ইন্টারফেস প্রদান করে।
  • Entity Framework (EF) হল একটি ORM (Object-Relational Mapping) ফ্রেমওয়ার্ক, যা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং প্যাটার্ন ব্যবহার করে ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করে। এটি ডেটাবেসের টেবিলকে ক্লাসে রূপান্তরিত করে এবং ডেটাবেস অপারেশনগুলোকে অবজেক্টের মাধ্যমে পরিচালনা করে।

এখানে আমরা ADO.NET এবং Entity Framework ব্যবহার করে ডেটাবেস ইন্টিগ্রেশন করার দুটি পদ্ধতি বিস্তারিতভাবে আলোচনা করব।


ADO.NET ব্যবহার করে Database Integration

ADO.NET একটি কমান্ড-বেসড লাইব্রেরি যা ডেটাবেসের সাথে সরাসরি যোগাযোগ করতে ব্যবহৃত হয়। এটি Connection, Command, DataReader, DataAdapter, এবং DataSet এর মতো প্রধান উপাদানগুলির মাধ্যমে কাজ করে।

ADO.NET দিয়ে Database Integration:

  1. ডেটাবেস কনফিগারেশন: প্রথমে, একটি কনেকশন স্ট্রিং তৈরি করতে হবে যা ডেটাবেসের সাথে সংযোগ স্থাপন করবে। কনফিগারেশন ফাইলে (যেমন App.config বা Web.config) কনেকশন স্ট্রিং সংরক্ষণ করা হয়।

    <connectionStrings>
       <add name="MyDBContext" connectionString="Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    
  2. SQL Server এর সাথে সংযোগ স্থাপন: ADO.NET এর SqlConnection ক্লাস ব্যবহার করে ডেটাবেসের সাথে সংযোগ স্থাপন করা হয়।

    using System;
    using System.Data.SqlClient;
    
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True";
            SqlConnection connection = new SqlConnection(connectionString);
    
            try
            {
                connection.Open(); // Connection open করা
                Console.WriteLine("Connection Successful!");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
            }
            finally
            {
                connection.Close(); // Connection বন্ধ করা
            }
        }
    }
    
  3. SQL কমান্ড এক্সিকিউট করা: SQL কমান্ড যেমন SELECT, INSERT, UPDATE, বা DELETE চালাতে SqlCommand ব্যবহার করা হয়।

    string query = "SELECT * FROM Users";
    SqlCommand command = new SqlCommand(query, connection);
    
    SqlDataReader reader = command.ExecuteReader(); // ডেটা রিডার ব্যবহার করে রেজাল্ট সংগ্রহ করা
    while (reader.Read())
    {
        Console.WriteLine(reader["UserName"].ToString());
    }
    reader.Close();
    
  4. ডেটা অ্যাডাপটার ব্যবহার করা: SqlDataAdapter দিয়ে আপনি ডেটাবেস থেকে ডেটা রিট্রিভ করতে পারেন এবং সেই ডেটাকে DataTable বা DataSet এ লোড করতে পারেন।

    SqlDataAdapter dataAdapter = new SqlDataAdapter("SELECT * FROM Users", connection);
    DataTable dataTable = new DataTable();
    dataAdapter.Fill(dataTable);
    
    foreach (DataRow row in dataTable.Rows)
    {
        Console.WriteLine(row["UserName"].ToString());
    }
    

Entity Framework (EF) ব্যবহার করে Database Integration

Entity Framework (EF) হল একটি ORM (Object-Relational Mapping) ফ্রেমওয়ার্ক, যা ডেটাবেসের টেবিলগুলিকে ক্লাসের অবজেক্টে রূপান্তরিত করে। EF ডেটাবেস অপারেশনগুলোকে অবজেক্টের মাধ্যমে পরিচালনা করতে সক্ষম এবং আপনাকে SQL লিখতে হয় না। EF তে দুটি প্রধান অ্যাপ্রোচ রয়েছে:

  • Code First: কোড লিখে মডেল তৈরি করা এবং তারপর ডেটাবেস তৈরি করা।
  • Database First: ডেটাবেস থেকে মডেল তৈরি করা।

Entity Framework Code First:

  1. মডেল ক্লাস তৈরি করা: প্রথমে, একটি ক্লাস তৈরি করতে হবে যা ডেটাবেস টেবিলের মডেল হিসেবে কাজ করবে।

    public class User
    {
        public int UserId { get; set; }
        public string UserName { get; set; }
    }
    
  2. DbContext ক্লাস তৈরি করা: এরপর, DbContext ক্লাস তৈরি করতে হবে, যা ডেটাবেসের টেবিলগুলির সাথে যোগাযোগ করবে।

    public class ApplicationDbContext : DbContext
    {
        public DbSet<User> Users { get; set; }
    }
    
  3. ডেটাবেস কনফিগারেশন: আপনাকে ডেটাবেসের কনফিগারেশন এবং কনেকশন স্ট্রিং যুক্ত করতে হবে App.config বা Web.config ফাইলে।

    <connectionStrings>
       <add name="ApplicationDbContext" connectionString="Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    
  4. মাইগ্রেশন ব্যবহার করে ডেটাবেস তৈরি করা: Code First পদ্ধতিতে ডেটাবেস মডেলটি তৈরি করতে Migration ব্যবহার করা হয়। Package Manager Console এ গিয়ে কমান্ড চালান:

    Enable-Migrations
    Add-Migration InitialCreate
    Update-Database
    
  5. ডেটাবেসে ডেটা যোগ করা: Entity Framework এর মাধ্যমে ডেটাবেসে ডেটা ইনসার্ট করা যায়।

    using (var context = new ApplicationDbContext())
    {
        var user = new User { UserName = "JohnDoe" };
        context.Users.Add(user);
        context.SaveChanges();  // Save the data to the database
    }
    
  6. ডেটা রিট্রিভ করা: ডেটাবেস থেকে ডেটা রিট্রিভ করার জন্য LINQ ব্যবহার করা যেতে পারে।

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users.ToList();
        foreach (var user in users)
        {
            Console.WriteLine(user.UserName);
        }
    }
    

Entity Framework Database First:

  1. ডেটাবেস থেকে মডেল তৈরি করা: ডেটাবেসের সাথে সংযুক্ত হয়ে Database First পদ্ধতিতে মডেল তৈরি করা হয়। Entity Data Model তৈরি করতে হবে যা ডেটাবেসের টেবিলগুলিকে ক্লাসে রূপান্তর করবে।

    Visual Studio এর Add New Item অপশনে গিয়ে ADO.NET Entity Data Model নির্বাচন করুন এবং ডেটাবেস সংযোগ তৈরি করুন।

  2. ডেটাবেস টেবিলের সাথে মডেল মেপিং: Entity Framework তে টেবিলগুলোর সাথে সম্পর্কিত ক্লাস তৈরি হবে এবং আপনি তাদেরকে কোডে ব্যবহার করতে পারবেন।

ADO.NET এবং Entity Framework এর মধ্যে পার্থক্য

ADO.NETEntity Framework
কোড লিখে ডেটাবেসের সাথে সরাসরি ইন্টারঅ্যাক্ট করা হয়।ORM ব্যবহার করে ডেটাবেসের টেবিলকে ক্লাসে রূপান্তরিত করে।
SQL কমান্ড ব্যবহার করতে হয়।LINQ ব্যবহার করা হয়।
অধিক নিয়ন্ত্রণ এবং কাস্টমাইজেশন পাওয়া যায়।কোড কম লেখা হয় এবং দ্রুত ডেভেলপমেন্ট সম্ভব।
ডেটা এক্সেসে বেশি ম্যানুয়াল কাজ করতে হয়।ডেটাবেস অপারেশন সহজ ও অটোমেটেড হয়।

উপসংহার

ADO.NET এবং Entity Framework উভয়ই ডেটাবেস ইন্টিগ্রেশন করার জন্য শক্তিশালী প্রযুক্তি। ADO.NET বেশি কাস্টমাইজেশন এবং নিয়ন্ত্রণ প্রদান করে, তবে Entity Framework একটি উচ্চস্তরের ORM পদ্ধতি যা ডেভেলপমেন্ট প্রক্রিয়াকে আরও সহজ করে তোলে। আপনার প্রকল্পের প্রয়োজন অনুসারে, এই দুটি পদ্ধতির মধ্যে যেকোনো একটি ব্যবহার করা যেতে পারে।

Content added By
Promotion

Are you sure to start over?

Loading...